package com.ssy.lingxi.purchase.service;

import com.ssy.lingxi.common.model.dto.UserLoginCacheDTO;
import com.ssy.lingxi.common.response.PageData;
import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.purchase.api.dto.request.*;
import com.ssy.lingxi.purchase.api.dto.request.purchase.*;
import com.ssy.lingxi.purchase.api.dto.response.BiddingExternalWorkStateEnumResponse;
import com.ssy.lingxi.purchase.api.dto.response.purchase.*;

import java.util.List;

/**
*采购报价业务处理
* @author wrc
* @date 2021/1/26
*/
public interface QuotedPriceService {

    /**
     *采购报价-采购需求单查询
     */
    Wrapper<PageData<PurchaseInquiryListResponse>> purchaseInquiryList(PurchaseInquiryListRequest request, UserLoginCacheDTO sysUser);

    Wrapper<PurchaseInquiryDetailsResponse> purchaseInquiryDetails(BaseDetailsRequest request, UserLoginCacheDTO sysUser);


    /**
     * 采购询价-采购物料-分页查询
     */
    Wrapper<PageData<PurchaseInquiryProductRequest>> purchaseInquiryProductlist(BaseDetailsRequest request);

    /**
     *添加报价单
     */
    Wrapper quotedPriceAdd(QuotedPriceAddRequest request, UserLoginCacheDTO sysUser);


    /**
     *修改报价单
     */
     Wrapper quotedPriceUpdate(QuotedPriceUpdateRequest request, UserLoginCacheDTO sysUser);


    /**
     *删除报价单
     */
     Wrapper quotedPriceDelete(BaseRequest request, UserLoginCacheDTO sysUser);

    /**
     *批量删除报价单
     */
    Wrapper quotedPriceDeleteBatch(BaseAllRequest request, UserLoginCacheDTO sysUser);

    /**
     *采购报价单列表查询
     */
    Wrapper<PageData<QuotedPriceListResponse>> quotedPriceList(QuotedPriceListRequest request, UserLoginCacheDTO sysUser);

    Wrapper<QuotedPriceDetailsResponse> quotedPriceDetails(BaseDetailsRequest request, UserLoginCacheDTO sysUser);


    /**
     待新增报价单
     */
     Wrapper<PageData<QuotedPriceListResponse>> quotedPriceAddList(QuotedPriceListRequest request,UserLoginCacheDTO sysUser);



    /**
     *采购询价-提交审核采购报价单
     */
    Wrapper quotedPriceExamine(BaseRequest request, UserLoginCacheDTO sysUser);



    /**
     *采购询价-提交审核采购报价单批量
     */
    Wrapper quotedPriceExamineBatch(BaseAllRequest request, UserLoginCacheDTO sysUser);



    /**
     *采购询价-待审核报价单(一级)
     */
    Wrapper<PageData<QuotedPriceListResponse>> quotedPricestayExamineList1(QuotedPriceListRequest request,UserLoginCacheDTO sysUser);


    /**
     *采购询价-提交审核采购报价单一级
     */
    Wrapper quotedPriceExamine1(BaseExamineRequest request,UserLoginCacheDTO sysUser);





    /**
     *采购询价-提交审核采购报价单批量一级
     */
    Wrapper quotedPriceExamine1Batch(BaseAllRequest request, UserLoginCacheDTO sysUser);



    /**
     *采购询价-待审核报价单(二级)
     */
    Wrapper<PageData<QuotedPriceListResponse>> quotedPricestayExamineList2(QuotedPriceListRequest request,UserLoginCacheDTO sysUser);


    /**
     *采购询价-提交审核采购报价单二级
     */
    Wrapper quotedPriceExamine2(BaseExamineRequest request,UserLoginCacheDTO sysUser);





    /**
     *采购询价-提交审核采购报价单批量二级
     */
    Wrapper quotedPriceExamine2Batch(BaseAllRequest request, UserLoginCacheDTO sysUser);


    /**
     *采购询价-待提交报价单
     */
    Wrapper<PageData<QuotedPriceListResponse>> quotedPricestayStayCommitList(QuotedPriceListRequest request,UserLoginCacheDTO sysUser);

    /**
     *采购询价-提交报价单
     */
    Wrapper quotedPriceStayCommit(BaseRequest request, UserLoginCacheDTO sysUser);

    /**
     *采购询价-提交报价单批量
     */
    Wrapper quotedPriceStayCommitBatch(BaseAllRequest request, UserLoginCacheDTO sysUser);

    /**
     * 采购合同-采购物料-分页查询
     */
    Wrapper<PageData<QuotedPriceProductResponse>> purchaseInquiryProductlistContract(ContractDetailsRequest request);


    /**
     *平台后台报价列表查询
     */
    Wrapper<PageData<QuotedPriceListResponse>> platformQuotedPriceList(QuotedPriceListRequest request,UserLoginCacheDTO sysUser);



    /**
     *平台后台报价单详情查询
     */
    Wrapper<QuotedPriceDetailsResponse> platformQuotedPriceDetails(BaseDetailsRequest request,UserLoginCacheDTO sysUser);


    /**
     * 报价单详情-物料详情列表查询-分页
     */
    Wrapper<PageData<QuotedPriceProductResponse>> materielDetailed(MaterielDetailedRequest request, UserLoginCacheDTO sysUser);


    /**
     *报价详情
     */
    Wrapper<ConfirmQuotedPriceResponse> platformDetails(ConfirmQuotedPriceDetailsRequest request, UserLoginCacheDTO sysUser);


    /**
     * 获取采购报价单内部流程状态
     */
     Wrapper<List<BiddingExternalWorkStateEnumResponse>> interiorStatus();
}



